פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם

Size: px
Start display at page:

Download "פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם"

Transcription

1 פרק 10 מערכים האלגוריתמים שפיתחנו לפתרון בעיות שונות בפרקים הקודמים היו שונים ומגוונים הם היו שונים זה מזה בפרט בכמות המידע שנקלט בהם, כלומר בגודל הקלט אבל בכל האלגוריתמים שהצגנו עד כה, גם כאשר כמות המידע הנקלט הייתה גדולה, הרי כמות המידע שהיה צריך לשמור או לזכור במהלך ביצוע האלגוריתם הייתה קטנה למשל כאשר רצינו לחשב ממוצע של 100 מספרי קלט, שמרנו אך ורק את סכומם המצטבר ואת נתון הקלט התורן, ולא את כל 100 נתוני הקלט בכל האלגוריתמים שפיתחנו עד כה השתמשנו במספר משתנים מצומצם, ולכל משתנה הוגדר תפקיד ייחודי משלו בפרק זה יוצגו בעיות אשר לצורך פתרונן יש לשמור מספר גדול של נתונים שיש קשר ביניהם: הם בעלי משמעות דומה וניתנים לתיאור כאוסף סדור של איברים מאותו טיפוס אוסף סדור כזה של איברים נקרא "מערך" 101 מערך ואיברי מערך 1 בעיה מטרת הבעיה ופתרונה: הצגת שימוש במערך לפתרון בעיה אלגוריתמית פתחו אלגוריתם המקבל כקלט את זמני ההקפה של כל אחד מארבעים משתתפי מרוץ הקרטינג האלגוריתם מציג כפלט את מספר המשתתפים שביצעו הקפה בזמן נמוך מהזמן הממוצע של כלל המשתתפים ישמו את האלגוריתם בשפת Java ניתוח הבעיה בעזרת דוגמאות שאלה 101 מהו הפלט כאשר נתונים 40 זמני הקפה, עשרים מהם שווים ל- 450, עשרה שווים ל- 420, ועשרה שווים ל- 460? פירוק הבעיה לתת-משימות בפרק 2? 7 כבר ראינו כיצד לחשב ממוצע של רשימת ערכי קלט: 1 קליטת נתוני הקלט וצבירתם חלוקת הסכום המצטבר במספר ערכי הקלט במהלך צבירת הנתונים לצורך חישוב הממוצע נוסף לצובר ערכו של כל נתון שנקלט, אך הנתון איננו נשמר לאחר קליטת כל נתוני הקלט ניתן לחשב את הממוצע, אך ערכי הקלט עצמם אינם שמורים אבל כדי למנות את מספר הנתונים שמתחת לממוצע יש לשמור את ערכי הקלט עד לאחר חישוב הממוצע, משום שרק לאחר חישוב הממוצע, אפשר להשוות כל אחד מערכי הקלט לממוצע כיצד נרחיב את התת-משימות המתוארות כך שיתייחסו גם למציאת ערכי הקלט הקטנים מהממוצע? קליטת נתוני הקלט, שמירתם וצבירתם חלוקת הסכום המצטבר במספר ערכי הקלט השוואת כל ערך קלט לממוצע, ומנייתו אם הוא קטן מהממוצע

2 בחירת משתנים יש 40 נתוני קלט, ועלינו לשמור כל אחד מהם בנפרד האם נצהיר על 40 משתנים, כל אחד בנפרד? מכיוון שלכל אחד מנתוני הקלט אפיון דומה, אפשר לקשרם יחד ניתן להתייחס אל נתוני הקלט כאל סדרת ערכים בת 40 איברים דומים, ולפיכך לשמור אותם בסדרת משתנים הערך שנקלט ראשון יישמר במשתנה הראשון בסדרה, הערך שנקלט שני יישמר במשתנה השני בסדרה וכך הלאה הקישור בין המשתנים יתבצע על ידי מתן שם לסדרה ופנייה לכל אחד מהמשתנים לפי מיקומו הסידורי בסדרה סדרה כזאת של משתנים הקשורים זה לזה נקראת מערך מערך (array) הוא אוסף סדור של איברים מאותו טיפוס ניתן להתייחס לכל אחד מאיברי המערך כמו למשתנה לכל דבר כלומר ניתן לשמור בו ערכים ולקרוא את הערכים השמורים בו מיקומו הסידורי של איבר במערך מצוין במציין (index) אם כך בבעיה זו אנו זקוקים למערך בן ארבעים איברים, איבר אחד עבור כל אחד מארבעים זמני ההקפה הנתונים הטיפוס של כל איבר יהיה ממשי למערך לשמירת זמני ההקפה ניתן את השם scores לכן זוהי רשימת המשתנים שנזדקק לה: scores מערך של 40 איברים ממשיים, לשמירת כל זמני ההקפה sumofscores מטיפוס ממשי, ישמור את סכום זמני ההקפות הנתונים בקלט averagescore ממוצע זמני ההקפה, מטיפוס ממשי belowaveragecounter למניית מספר הזמנים שערכם הוא מתחת לממוצע, מטיפוס שלם בשפת Java ניתן להגדיר מערך שאיבריו הם מכל טיפוס נתונים שהוא, למשל, מערך שאיבריו הם מטיפוס שלם, או מערך שאיבריו הם מטיפוס תו לצורך פתרון בעיה זו אנו נדרשים להגדיר מערך מטיפוס ממשי, כלומר שאיבריו הם מטיפוס ממשי ההצהרה על מערך של מספרים ממשיים נעשית באופן הבא: double[] scores; שימו : ההצהרה דומה להצהרה על משתנה מטיפוס ממשי, ורק תוספת הסוגריים המרובעים ([]) מבהירה כי אין הכוונה כאן למשתנה יחיד מטיפוס ממשי אלא לעצם שהוא מערך שאיבריו הם מטיפוס ממשי אך ההצהרה אינה מספיקה עלינו להקצות מקום בזיכרון עבור אוסף האיברים שבמערך באמצעות ההוראה new כמובן בעת ההקצאה עלינו לציין את מספר האיברים במערך, וכך נקבע את גודל שטח הזיכרון שיש להקצות אם כך, הגדרת עצם שהוא מערך מטיפוס ממשי, והקצאת מקום בזיכרון עבורו (בציון מספר האיברים שהוא אמור להכיל) תיעשה כך: double[] scores = new double[40]; כזכור, הפעולה new מחזירה הפניה לשטח הזיכרון שהוקצה לכן למעשה scores מפנה כעת אל השטח שהוקצה עבורו בזיכרון נשתמש בקבוע על מנת להגדיר את מספר האיברים, וכך תיראה ההגדרה: final int NUM_OF_RUNNERS = 40; double[] scores = new double[num_of_runners];

3 יש להדגיש כי בשפת,Java כאשר מוקצה שטח זיכרון עבור מערך של איברים מטיפוס פשוט, מתבצע גם אתחול אוטומטי של כל איבריו איברי מערך מספריים (שלמים או ממשיים) מאותחלים ב- 0, איברי מערך בוליאני מאותחלים ב- false, ואיברי מערך תווי מאותחלים בתו מיוחד שנקרא תו ריק בשפת Java האיבר הראשון במערך הוא במיקום 0 מתחילת המערך ולכן פנייה לאיבר הראשון תיעשה באמצעות המציין 0, כך: scores[0] האיבר השני נמצא במיקום 1 מתחילת המערך ולכן פנייה אליו תיעשה באמצעות המציין 1, כך: scores[1] האיבר האחרון ברשימה, איבר מספר 40, נמצא במיקום 39 מתחילת המערך ונפנה אליו בכתיבת scores[39] באופן כללי, ציון איברי מערך בשפת Java מתחיל תמיד ב- 0, ופנייה לאיבר הנמצא במיקום i מתחילת מערך בשם anarray נכתבת כך: anarray[i] איבר זה הוא האיבר ה- i+1 ברשימת האיברים נמחיש את המערך scores בעזרת האיור הבא: scores[0] scores[1] scores[19] scores[39] האלגוריתם 0-á sumofscores úà ìçúà 1 0-á belowaveragecounter úà ìçúà 2 :òöá 1 úåçô íéèì ðä íéëøòä øôñî ãò 0-î íìù i ìë øåáò 3 scores êøòîá i-ä øáéàá íùäå àáä äô ää ïîæ úà èåì 31 èì ðä äô ää ïîæ úà sumofscores-á øåîùä êøòì óñåä 32 íùäå èì ä éëøò øôñîá sumofscores-á øåîùä êøòä úà ìç 4 averagescore -á :òöá 1 úåçô íéèì ðä íéëøòä øôñî ãò 0-î íìù i ìë øåáò 5 averagescore-î ìåãâ scores êøòîá i-ä øáéàä ìù åëøò íà 51 1-á belowaveragecounter ìù åëøò úà äìòä 511 belowaveragecounter ìù åëøò úà èìôë âöä 6 יישום האלגוריתם לכל עצם שהוא מערך מוגדרת בשפה תכונה בשם length השומרת את גודל המערך, כלומר את מספר האיברים שהוא מכיל לתכונה זו נוכל לגשת באמצעות סימון הנקודה, בדומה לאופן שבו הפעלנו פעולות על עצם למשל scoreslength היא תכונת האורך של המערך,scores וערכה שווה ל- 40 תכונת האורך של מערך היא קבועה ואינה ניתנת לשינוי כלומר נוכל לשלב אותה בתוך ביטויים שונים בתוכנית, למשל + 1 scoreslength x, = אך לא נוכל להציבה בצד שמאל של הוראת השמה כך למשל, הוראה כמו = 3 scoreslength היא שגויה אם כך scoreslength הוא בעצם קבוע לכל דבר (בדומה לקבוע,(NUM_OF_RUNNERS אך הוא מקושר לעצם,scores וניתן לגשת אליו רק דרך העצם scores כפי שמביע סימון הנקודה שימו : גם כדי להשתמש בפעולה על עצם וגם כדי לגשת לתכונה שלו אנו משתמשים בסימון הנקודה, אך הפנייה לפעולה תלווה תמיד בסוגריים (אולי ריקים, אם הפעולה אינה מצפה לקבל פרמטרים), ואילו פנייה לתכונה, בדומה לפנייה למשתנה רגיל, היא ללא סוגריים

4 באלגוריתם לפתרון בעיה 1 כללנו הוראה לביצוע-חוזר מספר פעמים ידוע מראש, למעבר על כל איברי המערך בזה אחר זה נוכל להשתמש בתכונת האורך של המערך הנסרק כדי לשלוט במספר הסיבובים בלולאה כלומר נוכל לקבוע מראש את מספר הסיבובים בלולאה ל- scoreslength מאחר שהתכונה length שומרת את מספר האיברים במערך, ניתן גם לומר שאיברי המערך נמצאים בו מהמקום 0 ועד המקום scoreslength-1 אם כך, נאתחל את משתנה הבקרה של הלולאה ב- 0, והלולאה תסתיים כאשר ערכו יגיע ל- scoreslength-1 (אפשר כמובן גם לקבוע את ערך הסיום של משתנה הבקרה ל- NUM_OF_RUNNERS 1 ) התוכנית המלאה /* ארבעים משתתפי מרוץ קרטינג קלט: זמני ההקפה של שביצעו הקפה בזמן נמוך מהממוצע הקבוצתי */ import javautilscanner; public class BelowAverage המשתתפים מספר פלט: public static void main (String[] args) Scanner in = new Scanner(Systemin); הגדרת קבוע // final int NUM_OF_RUNNERS = 40; הגדרת משתנים // double[] scores = new double[num_of_runners]; מערך זמני ההקפה // 0; = sumofscores double צובר זמני ההקפה // double averagescore; ממוצע זמני ההקפה // מונה // 0; = belowaveragecounter int קלט וצבירה // 1 for (int i = 0; i < scoreslength; i++) 11 Systemoutprint("Enter score: "); 12 scores[i] = innextdouble(); 13 sumofscores = sumofscores + scores[i]; } // for חישוב ממוצע // 2 averagescore = sumofscores / scoreslength; מניית הנמוכים מהממוצע // 3 for (int i = 0; i < scoreslength; i++) 31 if (scores[i] < averagescore) 311 belowaveragecounter++; פלט // 4 Systemoutprintln(belowAverageCounter + " participants are below average"); } // main } //class BelowAverage

5 מעקב נעקוב באופן חלקי אחר מהלך ביצוע התוכנית עבור הקלט נניח שסכום זמני ההקפות הוא 1688 משפט Scores i Scores scores[i] below sumof average > average Average לביצוע [0] [39] Scores Score Score Counter 1 0?? 0? ?? 0? ? 0? ? 450? ? 450? ? 450? ? 860? ? 860? ? 1646? ? ? ? false true true פלט Enter score: Enter score: Enter score: 2 parti cipants שימו : המעקב אחר הערכים השמורים באיבר של המערך זהה למעקב אחר הערכים השמורים במשתנה 1 סוף פתרון בעיה בפתרון הבעיה הכרנו שימוש במערך עבור שמירת נתונים שניתן להתייחס אליהם כאל אוסף סדור של איברים מאותו טיפוס ניתן להתייחס אל איבר במערך כאל משתנה כלומר, ניתן לשמור בו ערכים ולקרוא את הערכים השמורים בו מיקומו הסידורי של איבר במערך מצוין במציין (index)

6 באלגוריתם לפתרון בעיה זו הכרנו דרך נוחה לסרוק מערך ולבצע עיבוד על כל איבריו באמצעות הוראה לביצוע-חוזר, שמספר הסיבובים בה ידוע מראש ושווה למספר האיברים במערך (במילים אחרות, לאורכו של המערך) נסכם את המושגים הבסיסיים שהכרנו בפתרון בעיה 1, הנוגעים למערכים ולעבודה עמם בשפת :Java מערך בשפת Java הוא עצם המוגדר בשפה משום שזהו עצם, אחרי ההצהרה על מערך צריך לבצע עבורו הקצאת מקום בזיכרון, באמצעות ההוראה new בעקבות ההקצאה שם המערך מפנה אל שטח הזיכרון שהוקצה עבורו בשפת,Java מיד אחרי הקצאת שטח זיכרון עבור מערך של איברים מטיפוס פשוט, מתבצע גם אתחול אוטומטי של כל איבריו איברי מערך מספריים (שלמים או ממשיים) יאותחלו ב- 0, איברי מערך בוליאני יאותחלו ב- false, ואיברי מערך תווי יאותחלו בתו הריק ציון איברי מערך מתחיל תמיד ב- 0 פנייה לאיבר הנמצא במיקום i מתחילת מערך בשם anarray נכתבת כך: anarray[i] איבר זה הוא האיבר ה- i+1 ברשימת האיברים לכל עצם שהוא מערך יש תכונה השומרת את אורכו (length) ניתן להשתמש בה כדי לדעת את מספר האיברים במערך אך לא ניתן לשנותה נוח להשתמש בתכונה זו כדי לקבוע את מספר הפעמים לביצוע בלולאות שסורקות את כל איברי המערך פנייה לתכונת האורך נעשית באמצעות סימון הנקודה, למשל כך: anarraylength בתוכנית שבפתרון בעיה 1 הצהרנו על המערך scores והקצינו לו מקום בזיכרון באופן הבא: double[] scores = new double[num_of_runners]; ננסח זאת באופן כללי: הצהרה על מערך מטיפוס כלשהו נכתבת בשפת Java כך: ;שם המערך []טיפוס שם הטיפוס, לאחריו סוגריים מרובעים ואז שמו של המערך הקצאת שטח למערך מתבצעת באמצעות ההוראה,new אחריה מופיע טיפוס איברי המערך, ואחריו מופיע בסוגריים מרובעים מספר איברי המערך: ;[מספר הערכים]טיפוס new כזכור, ניתן לצרף את ההצהרה וההקצאה בהוראה אחת: וניתן גם לבצען בנפרד: ;[מספר הערכים]טיפוס = new שם המערך []טיפוס ;שם המערך []טיפוס ;[מספר הערכים]טיפוס = new שם המערך כדי להמחיש את המושגים החדשים נתבונן בדוגמה הבאה: בשורה הבאה יש הצהרה על מערך מטיפוס שלם, והקצאת שטח המספיק ל- 5 איברים int[] arr = new int[5];

7 אם כך המערך arr מורכב בעצם מחמישה תאים בזיכרון: arr arr[0] arr[1] arr[2] arr[3] arr[4] האיבר הראשון במערך arr הוא,arr[0] האיבר השני הוא arr[1] וכן הלאה האיבר האחרון הוא arr[4] arr[4] = num; arr[i] = innextint(); Systemoutprintln(arr[i]); ניתן להתייחס לכל איבר במערך arr כאל משתנה מטיפוס שלם למשל: השמה: קלט: פלט: נראה כיצד ייראה המערך arr לאחר ביצוע ההוראות הבאות: arr[0] = 9; arr[1] = 7; arr[2] = 2 * 4; arr[3] = 4 + arr[1]; arr[4] = arr[2] + arr[3]; arr arr[0] 9 arr[1] 7 arr[2] 8 arr[3] 11 arr[4] 19 שאלה 102 נניח כעת שבמרוץ הקרטינג משתתפים רק שלושה מתחרים, כלומר ערכו של הקבוע NUM_OF_RUNNERS הוא 3 הקלט לתוכנית (כלומר זמני ההקפה שלהם) הוא: בנו טבלת מעקב לתוכנית BelowAverage ועקבו אחר מהלך ביצוע האלגוריתם לפי הנתונים החדשים מהו הפלט המתקבל? BelowAverage כך שהפלט יהיה רשימת זמני ההקפות שאלה 103 הוסיפו הוראה או הוראות לתוכנית הנמוכים מהממוצע int a1,a2; int[] arr = new int[4]; arr[0] = 2; a1 = innextint(); arr[2] = innextint(); a2 = innextint(); arr[3] = 2 * arr[2]; arr[1] = a2 + arr[2]; a1 = a[1] + a[2] + a1; Systemoutprintln(a1 + " " + a2); for (i = 0; i < arrlength; i++) Systemoutprintln(arr[i]); שאלה 104 נתון קטע התוכנית הבא:

8 1 2 בנו טבלת מעקב אחר מהלך ביצוע קטע התוכנית עבור הקלט: 3 מה יהיה פלט קטע התוכנית עבור הקלט הנתון? שאלה 105 נתונה הצהרת המערך הבאה: int[] temp = new int[10]; א כתבו לולאה להשמת הערך 0 בכל אחד מאיברי המערך ב כתבו לולאה לקליטת עשרה נתוני קלט בעשרת איברי המערך ג כתבו לולאה להכפלה ב- 2 של ערכו של כל איבר במערך ד כתבו לולאה להצגה של חצי מערכו של כל איבר במערך שאלה 106 פתחו אלגוריתם אשר הקלט שלו הוא רשימה של עשרה ציונים, והפלט שלו הוא רשימה הכוללת לכל ציון את מרחקו מהציון הממוצע מרחקו של ציון מהציון הממוצע הוא ציון ממוצע ציון, כלומר הערך המוחלט של ההפרש של הציון והציון הממוצע ישמו את האלגוריתם בשפת Java שימו : חשוב להבחין בין ערכו של איבר ובין ערכו של המציין של איבר, כפי שמראה הדוגמה הבאה נניח שנתון המערך arr הבא: ערכו של האיבר הראשון הוא -, 1 ערכו של האיבר השני הוא 2 וערכו של האיבר השלישי הוא 1 נתון משתנה i, מטיפוס שלם, ונתון קטע התוכנית הבא: 1 i = 0; 2 Systemoutprintln(i + " " + arr[i]); 3 i = i + 1; 4 Systemoutprintln(i + " " + arr[i]); 5 arr[i] = arr[i] + 1; 6 Systemoutprintln(i + " " + arr[i]); הנה טבלת המעקב אחר מהלך ביצוע ההוראות שבקטע התוכנית: arr arr[0] -1 arr[1] 2 arr[2] 1 מספר שורה המשפט הבא לביצוע i arr[0] arr[1] arr[2] פלט 1 i = Systemout (i + " " + arr[i]) i = i Systemout (i + " " + arr[i]) arr[i] = arr[i] Systemout (i + " " + arr[i]) בקטע התוכנית הזה תפקידו של המשתנה i הוא להיות מציין של איברי המערך,arr כלומר משתנה שבאמצעותו פונים אל איברי המערך כפי שניתן לראות מטבלת המעקב ערכו של i אינו שווה בהכרח לערכו של האיבר שנמצא במקום ה- i, כלומר ל-[ arr[i בפרט, שינוי בערכו של האיבר שנמצא במקום ה- i אינו משפיע על ערכו של i, כפי שמדגימות הוראת ההשמה שבשורה 5 והוראת הפלט שבשורה

9 שאלה 107 כתבו קטע תוכנית המצהיר על מערך מטיפוס שלם בגודל 10, ומציב בכל תא ערך מספרי ששווה לריבוע מקומו הסידורי למשל, בתא 0 יהיה הערך 0 ובתא 5 יהיה הערך 25 שאלה 108 במערך t שלהלן שמורים ערכים שלמים: א מה מטרת משפט ה- for הבא: ב int[] t = new int[20] for (int i = 0; i < tlength; i++) if (t[i] > i) Systemoutprintln(i); כתבו משפט for אשר יציג כפלט את מיקומם במערך (כלומר, את מצייניהם) של כל האיברים במערך שערכם כפול ממיקומם הסידורי במערך שאלה 109 בתוכנית הבאה נשתמש במערך של תווים: /* קלט: עשר אותיות לועזיות פלט: */ import javautilscanner; public class Letters public static void main (String[] args) char[] letters = new char[10]; for (int i = 0; i < letterslength; i++) Systemoutprint("Enter a character: "); letters[i] = innextline()charat(0); } // for for (int i = 0; i < letterslength; i++) if (letters[i] == letters[letterslength -1] ) Systemoutprintln(i); } // main } // Letters א מהו פלט התוכנית עבור הקלט:?ABBASABABA ב מהי מטרת התוכנית? מלאו את תיאור הפלט בהערה שבראש התוכנית ג האם נחוץ שימוש במערך לצורך השגת המטרה שתיארתם בסעיף ב? בדוגמאות שראינו עד כה ההצהרה על מערך לוותה בהקצאה מיידית של מקום עבורו, בעזרת הפעולה new עם זאת, הזכרנו שהקצאת המקום בזיכרון יכולה להתבצע גם מאוחר יותר לעתים, אכן נרצה לדחות את ההקצאה, למשל, כאשר לא ידוע מראש גודל המערך והוא תלוי בקלט לתוכנית, כפי שמדגימה הבעיה הבאה

10 2 בעיה מטרת הבעיה ופתרונה: הצגת מערך שאורכו אינו ידוע מראש לכיתה המדעית יתקבלו רק התלמידים אשר ציוניהם במבחן הקבלה גבוה מהציון הממוצע של הניגשים למבחן פתחו אלגוריתם אשר קולט את מספר הניגשים למבחן, ואחר כך קולט את רשימת הציונים של הנבחנים פלט האלגוריתם יהיה מספר התלמידים המתקבלים לכיתה ישמו את האלגוריתם בשפת Java ניתן להניח כי לפחות תלמיד אחד ניגש למבחן פירוק הבעיה לתת-משימות התהליך המבוקש כמעט זהה לזה שבפתרון בעיה 1: עלינו לקלוט נתונים ולשמור אותם, לחשב את הממוצע, ולמנות את מספר הנתונים במערך הגדולים מהממוצע (שלא כמו בבעיה 1, שם היה עלינו למנות את מספר הנתונים הקטנים מהממוצע) אבל ההבדל העיקרי בין בעיה זו לבעיה 1 הוא שכעת לא ידוע מראש מספר הנתונים, ולכן צריך קודם כול לקרוא ערך זה מהקלט בהתאם לכך נקבל את הפירוק הבא לתת-משימות: קליטת מספר הניגשים למבחן קליטת הציונים, שמירתם וצבירתם חלוקת הסכום המצטבר במספר הנבחנים השוואת כל ציון לממוצע, ומנייתו אם הוא גדול מהממוצע בחירת משתנים נשתמש במשתנים הבאים: האלגוריתם numofstudents מטיפוס שלם, לשמירת מספר התלמידים הנבחנים grades מערך באורך numofstudents מטיפוס ממשי, לשמירת הציונים sumofgrades מטיפוס ממשי, ישמור את סכום הציונים averagegrade ממוצע הציונים, מטיפוס ממשי aboveaveragegrade למניית מספר הציונים מעל לממוצע, מטיפוס שלם האלגוריתם כמעט זהה לאלגוריתם שהוצג בפתרון בעיה 1: שאלה 1010 כתבו את האלגוריתם לפתרון בעיה 2 היעזרו באלגוריתם שניתן לפתרון בעיה 1, ושנו אותו כך שיכלול הוראת קלט של מספר התלמידים הנבחנים, יתייחס למשתנים שנבחרו וייתן את הפלט המבוקש

11 יישום האלגוריתם הנה קטע התוכנית המטפל בהצהרה על המערך, בקליטת מספר התלמידים, ובהקצאת מקום בזיכרון עבור המערך: int numofstudents; int[] grades; Systemoutprint("Enter number of students: "); numofstudents = innextint(); grades = new int[numofstudents]; מיד אחרי שמוקצה למערך מקום מתאים בזיכרון, התכונה length של המערך שומרת את אורכו שאלה 1011 השלימו את התוכנית לפתרון הבעיה 2 סוף פתרון בעיה ג שאלה 1012 כתבו קטע תוכנית המקבלת כקלט מספר שלם חיובי וזוגי, ומקצה מערך מטיפוס שלם בגודל הערך שנקלט לאחר מכן התוכנית תשים באיברי המערך הנמצאים במחציתו הראשונה את המספר 0, ובאיברי המערך הנמצאים במחציתו השנייה את המספר 1 בדוגמאות שראינו עד כה איברי מערך נסרקו באופן רציף, זה אחר זה לעתים, נרצה לסרוק איברי מערך באופן לא רציף למשל, נניח ש- arr הוא מערך של עשרה איברים ויש להציג כפלט את ערכיהם של כל האיברים שבמקומות הזוגיים במערך גם עבור סריקה כזאת נוכל להשתמש בהוראה לביצוע-חוזר באורך ידוע מראש, אך נקדם את משתנה הבקרה של הלולאה בדילוגים של 2: for (int i = 0; i < arrlength; i = i + 2) Systemoutprintln(arr[i]); שאלה 1013 נתון המערך arr המכיל מאה איברים מטיפוס שלם א תארו את מטרת הלולאה הבאה: for (int i = 0; i < arrlength; i++) if (arr[i] % 5 == 0) Systemoutprintln(arr[i]); ב תארו את מטרת הלולאה הבאה: for (int i = 0; i < arrlength; i++) if (i % 5 == 0) Systemoutprintln(arr[i]); כתבו לולאה יעילה יותר (שמספר הסיבובים בה קטן יותר) להשגת המטרה של סעיף ב בבואנו לכתוב הוראה לביצוע-חוזר המבצעת סריקה ועיבוד של איברי מערך, ההוראה להגדרת הסריקה שצריכה להתבצע נתאים את סוג

12 ג אם ידועים מראש הן המציין שממנו צריכה הסריקה להתחיל והן המציין שהיא אמורה להסתיים בו, והסריקה עצמה היא בדילוגים ידועים, נשתמש בהוראה לביצוע-חוזר שמספר הסיבובים בה ידוע מראש (המיושמת בלולאת (for אם סיום הסריקה תלוי בקיום תנאי, נשתמש בביצוע-חוזר-בתנאי (המיושמת בלולאת (while שאלה 1014 במערך s יש ערכים מטיפוס תו א תארו את מטרת קטע התוכנית הבא: int i = 0; int len = slength; while (s[i] < s[len - 1]) i = i + 1; Systemoutprintln(i); ב תארו את מטרת קטע התוכנית הבא: int c = 0; int len = slength; for (int i = 0; i < len; i++) if ( (i % 10 == 0) && (s[i] < s[len - 1]) ) c = c + 1; Systemoutprintln(c); לולאת ה- for שבקטע התוכנית בסעיף ב מתבצעת מספר פעמים השווה לאורך המערך s כתבו לולאה שמבצעת אותה המשימה אך מספר הסיבובים בה יהיה הרבה יותר קטן בעיה 3 מטרת הבעיה ופתרונה: שימוש במערך כדי לתאר מבנה כגון לוח משחק, חשבוניים כמצייני מיקום ושימוש בביטויים נתאר משחק על לוח ובו שורה של שלושים משבצות ובחלקן מצויים מוקשים המשבצות ממוספרות מ- 1 עד 30 שחקן מתקדם לאורך הלוח באמצעות הטלת קובייה שעל פאותיה הספרות 1 עד 6 אם המספר המתקבל מהטלת הקובייה מוביל למשבצת שיש בה מוקש, השחקן נשאר במקומו אם המספר המתקבל מהטלת הקובייה מוביל למשבצת פנויה השחקן יכול להתקדם פתחו אלגוריתם אשר הקלט שלו הוא תיאור הלוח המתקבל באמצעות שלושים תווים שערכיהם 'T' (עבור משבצת פנויה) או 'F' (עבור מוקש), ואחריו מספר המציין את מספר המשבצת שהשחקן מוצב עליה פלט האלגוריתם הוא הטלות הקובייה אשר עבורן יוכל השחקן להתקדם הניחו שהשחקן מוצב על משבצת שמספרה בין 1 ל- 24 ואין בה מוקש ישמו את האלגוריתם בשפת התכנות Java ניתוח הבעיה בעזרת דוגמאות נתבונן בלוח הבא, כאשר הסימון מציין את מיקום השחקן והסימון מציין מוקש: בלוח זה, השחקן יכול לקדם את הכלי עבור כל אחת מן ההטלות: 5 3, 1, או 6, אך לא יוכל לקדם אותו עבור ההטלות 2 או

13 פירוק הבעיה לתת-משימות הנה חלוקה ראשונית לתת-משימות עבור פתרון הבעיה: קליטה ושמירה של מצב הלוח ושל מקום השחקן על הלוח חישוב הטלות הקובייה המותרות להתקדמות והצגתן כפלט 1 2 בחירת משתנים את לוח המשחק נתאר באמצעות מערך של ערכים בוליאניים בגודל 30, שמצייני איבריו נעים בין 0 ל- 29 כל איבר במערך ישמור את מצב המשבצת המתאימה בלוח הערך true יתאר משבצת פנויה, ואילו הערך false יתאר מוקש בנוסף נזדקק למשתנה שיציין את מיקום השחקן על הלוח אם כך אלה יהיו המשתנים שנשתמש בהם: board מערך של 30 איברים מטיפוס בוליאני pawn מטיפוס שלם, לשמירת מיקום השחקן על הלוח למשל עבור הדוגמה שלעיל המערך board ייראה כך: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [27] [28] [29] true true true false true false true true true false true false true true והמשתנה pawn יכיל את הערך 1 (כיוון שהשחקן נמצא על המשבצת השנייה) ההתייחסות לאיברי המערך היא בעזרת מציין, לדוגמה הערך בתא board[pawn] מבטא את מצב המשבצת שכלי השחקן מוצב עליה שימו : אמנם לוח המשחק ממוספר מ- 1 עד 30, אבל המערך המתאר אותו ממוספר מ- 0 עד 29 לכן ערכי המשתנה pawn יהיו בתחום 0 עד 29 האלגוריתם? כיצד נשתמש במערך board כדי לחשב את ההטלות שעבורן יוכל השחקן להתקדם? כדי לחשב את ההטלות שעבורן יוכל השחקן להתקדם יש לבדוק את מצבן של שש המשבצות העוקבות למשבצת שהשחקן מוצב עליה כיוון שמשבצת זו מתוארת באמצעות האיבר board[pawn] במערך, שש המשבצות העוקבות מיוצגות על ידי ששת האיברים הבאים לפי הסדר: board[pawn+6],,board[pawn+2],board[pawn+1] עבור כל איבר מששת האיברים האלה יש לבדוק אם הוא מייצג משבצת פנויה (כלומר אם ערכו הוא (true אם כן, יש להציג כפלט את הטלת הקובייה אשר מביאה אליו את השחקן למשל, אם ערכו של board[pawn+3] מבטא משבצת פנויה, יוצג 3 כפלט, כיוון שהטלת 3 בקובייה מביאה את השחקן למשבצת פנויה :òöá 1 ìë øåáò úåçô êøòîä ìãåâ ãò 0-î íìù i çåìä ìù i-ä úöáùîä áöî úà èåì 11 ï çùä íå éî úà èåì :òöá 6 ãò 1-î íìù i ìë øåáò ä éø àéä ï çùä íå éîî i çøîá úöáùîä íà 31 i ìù åëøò úà âöä

14 התוכנית המלאה /* קלט: תיאור לוח משחק בן 30 משבצות ומיקום משבצת שעליה מוצב שחקן (בין 1 ל- 24 ) /* פלט: הטלות קובייה המביאות את השחקן למשבצת פנויה import javautilscanner; public class MineBoardGame public static void main (String[] args) Scanner in = new Scanner(Systemin); הגדרת קבוע // final int BOARD_SIZE = 30; הגדרת משתנים // boolean[] board = new boolean[board_size]; char cellstatus; int pawn; קלט הלוח // Systemoutprintln("Enter the board details: Type F for a " + "cell with a mine, and T for a free cell: "); for (int i = 0; i < boardlength; i++) Systemoutprint("Enter status of cell number " + (i+1)); cellstatus = innextline()charat(0); board[i] = (cellstatus == 'T'); } קלט מיקום השחקן והתאמתו לאופן שמירת הלוח // Systemoutprint("Enter the pawn position: "); pawn = innextint(); pawn = pawn - 1; פלט // Systemoutprintln("Throws that lead to empty positions: "); for (int i = 1; i <= 6; i++) if (board[pawn + i]) Systemoutprintln(i); }// main } //class MineBoardGame שימו : בלולאה הראשונה השתמשנו במציין i כדי לעדכן את מצב המשבצת התורנית בלוח כדי להודיע למשתמש את מספר המשבצת שאת מצבה עליו להקליד השתמשנו בביטוי + 1 i הביטוי מתאים את מצייני המערך (הנעים בין 0 ל- 29 ) לאופן הספירה של הלוח (מ- 1 עד 30) וכך בסיבוב הראשון של הלולאה, כאשר ערכו של i הוא 0, מוצגת ההודעה: Enter status of cell number 1: בלולאה השנייה השתמשנו בביטוי pawn + i כמציין הביטוי pawn + i מבטא מיקום במערך שמרחקו מהמיקום pawn הוא i לאחר קליטת מיקום השחקן, מדוע מושם במשתנה pawn הערך הנקלט פחות 1? המשתמש בתוכנית יקליד את מיקום השחקן על הלוח כמספר שלם בין 1 ל- 30 לעומת זאת, ערכי המשתנה pawn צריכים להתאים לאופן מספור המערך מ- 0 עד 29? סוף פתרון בעיה

15 ב ג ד שאלה 1015 בנו טבלת מעקב אחר מהלך ביצוע התוכנית MineBoardGame לפתרון בעיה 3 עבור הקלט: T T F F T F T F T T 2 כלומר יש מוקש במשבצת השלישית והרביעית, ומהמשבצת השישית ואילך יש מוקש בכל משבצת זוגית השחקן נמצא במשבצת השנייה מהו הפלט המתקבל? שאלה 1016 הרחיבו את האלגוריתם לפתרון בעיה 3 כך שיציג כפלט לא רק את ההטלות שמאפשרות לשחקן להתקדם, אלא גם את מספרי המשבצות שהטלות אלו מובילות אליהן למשל עבור הקלט שבשאלה הקודמת יכלול הפלט החדש גם את הרשימה: 5 7 שאלה 1017 נניח שכתבנו את משפטי ההצהרה הבאים: int[] arr = new int[100]; int position; int counter = 0; באיברי המערך arr הושמו ערכים ובמשתנה position נקלט ערך חיובי שלם בתחום 1 עד 79 א תארו את מטרת קטע התוכנית הבא: if (arr[position] == arr[position - 1]) Systemoutprintln("previous one is equal"); if (arr[position] == arr[position + 1]) Systemoutprintln("next one is equal"); תארו את מטרת קטע התוכנית הבא: for (int i = 0; i < 10; i++) if (arr[position] == arr[position + i]) counter = counter + 1; Systemoutprintln(counter); כתבו לולאה שמטרתה להציג את מצייניהם של איברי המערך, מבין 20 האיברים העוקבים ל-[ arr[position, אשר ערכם גדול מערכו של arr[position] כתבו לולאה שמטרתה להציג את מצייניהם של איברי המערך, מבין 20 האיברים העוקבים ל-[ arr[position, אשר ערכם גדול בדיוק ב- 1 מערכו של arr[position] שאלה 1018 פתחו וישמו אלגוריתם אשר הקלט שלו הוא רצף של 20 תווים, והפלט שלו הוא מספר הזוגות של תווים עוקבים ששווים לזוג התווים האחרון למשל, עבור הקלט abcabacadcababddaaab הפלט הוא 4 כיוון שהזוג האחרון הוא,ab ויש עוד ארבעה זוגות השווים ל- ab שימו : עבור קלט של 20 תווים זהים הפלט צריך להיות 18 (כיוון שכל הזוגות, מהראשון ועד הזוג לפני האחרון, שווים לזוג האחרון) שאלה 1019 במשחק נתון לוח הכולל שורה של 25 משבצות אשר בכל אחת מהן רשום מספר שלם בין 0 ל- 5 על הלוח מוצב שחקן בין המשבצת העשירית והחמש-עשרה

16 השחקן מטיל קובייה כדי לנסות ולהתקדם על הלוח אם המספר המתקבל בהטלת הקובייה מוביל למשבצת אשר המספר הרשום בה קטן או שווה למספר המתקבל בקובייה, השחקן מקדם את הכלי למשבצת זו אחרת השחקן נסוג אחורה מספר משבצות השווה למספר המתקבל בקובייה פתחו אלגוריתם אשר הקלט שלו הוא תיאור הלוח (25 מספרים שערכיהם נעים בין 0 ל- 5 ), ואחריו מיקום השחקן על הלוח וערכה של הטלת הקובייה הפלט שלו הוא מיקומו החדש של השחקן על הלוח ישמו את האלגוריתם בשפת Java שימו : יש להתאים בין מיקום השחקן כפי שנקלוט (מספר בין 1 ל- 25 ) לבין מציין המערך (מספר בין 0 ל- 24 ) שאלה 1020 מה יהיו ערכי איברי המערך בסיום קטע התוכנית הבא? int[] arr = new int[10]; for (int i = 0; i < arrlength / 2; i++) arr[i * 2] = i; המכיל מספרים שלמים תארו מה יהיו ערכי איברי המערך for (int i = 0; i < arrlength; i++) arr[i] = arr[arrlength - i]; 10 שאלה 1021 המערך arr הוא מערך באורך בסיום קטע התוכנית הבא ב שאלה 1022 א המערך arr הוא מערך באורך 10 המכיל מספרים שלמים תארו מה יהיו ערכי איברי המערך בסיום קטע התוכנית הבא for (int i = 0; i < arrlength - 1; i++) arr[i + 1] = arr[i]; ב תקנו את קטע התוכנית וכתבו אותו מחדש כך שיבצע הזזה של ערכי התאים במערך בצורה מעגלית, כלומר, התא השני יכיל את ערכו המקורי של התא הראשון, התא השלישי יכיל את ערכו המקורי של התא השני וכן הלאה, והתא הראשון יכיל את ערכו המקורי של התא האחרון שאלה 1023 א חברי קבוצת "סיורי הגליל" הולכים תמיד בטור, זה אחר זה לאחר עשרים דקות הליכה, הראשון בטור נעצר וממתין עד שהטור כולו עובר אותו, ואז מצטרף לטור שוב כאחרון פתחו אלגוריתם המקבל כקלט את מספר חברי הקבוצה, ולאחר מכן את רשימת השמות של חברי הקבוצה, לפי הסדר שבו הם מתחילים את הטיול פלט האלגוריתם יהיה סדר חברי הקבוצה לאחר שעה ורבע של הליכה ישמו את האלגוריתם בשפת התכנות Java חברי קבוצת "סיורי הגליל למתחילים" הולכים תמיד בטור; המדריך צועד בראש, ובסוף נמצאים החובש, המלווה והמאסף בקדמת הטור צועדות הבנות ואחריהן צועדים הבנים רק הבנים מחליפים את מקומותיהם כל עשרים דקות כפי שתואר עבור קבוצת "סיורי הגליל" פתחו אלגוריתם המקבל כקלט את מספר הבנים ואת מספר הבנות בקבוצה, ואת הרשימה של שמות חברי הקבוצה לפי הסדר שבו הם מתחילים את הטיול פלט האלגוריתם יהיה סדר חברי הקבוצה לאחר שעה ורבע של הליכה ישמו את האלגוריתם בשפת התכנות Java

17 שאלה 1024 פתחו אלגוריתם המקבל כקלט סדרת מספרים בסדר עולה האלגוריתם מסדר ושומר את הסדרה הנתונה בסדר יורד ישמו את האלגוריתם בשפת התכנות Java 102 חריגה מגבולות מערך? בהגדרת בעיה 3 נכללה הנחה כי השחקן מוצב על משבצת שמספרה בין 1 ל- 24 מדוע הנחה זו חשובה? נניח כי השחקן עומד על משבצת שערכה גבוה מהמספר 24, למשל 25 הטלת הקובייה נותנת מספר כלשהו בין 1 ל- 6 אם הטלת הקובייה תיתן את המספר 6, השחקן ינסה לנוע 6 צעדים קדימה החל מהמשבצת ה- 25 כך יגיע השחקן למשבצת מספר 31 משבצת זו אינה קיימת כמובן ואינה חוקית בתנאי המשחק! ניסיון להתייחס במהלך הרצת תוכנית בשפת Java לתא שאיננו קיים במערך (למשל (board[30] יגרום להפסקת פעולתה של התוכנית ולהצגת הודעת שגיאה על חריגה מגבולות המערך חריגה מגבולות המערך היא שגיאת ריצה, המתגלה בזמן ריצת התוכנית ולא בזמן ההידור שאלה 1025 נוסיף לפתרון בעיה 3 משתנה בשם limit מטיפוס שלם, אשר ישמש כערך סופי למשתנה הבקרה i של הלולאה השנייה (לולאת הצגת הפלט) נשתמש ב- limit כדי להרחיב את משפטי התוכנית,MineBoardGame כך שהתוכנית תאפשר לקלוט ערך בין 1 ל- 29 למיקום השחקן (במקום 24 כמו בבעיה המקורית) יחד עם זאת לא תהיה חריגה מגבולות המערך בלולאה השנייה לפני הלולאה השנייה נוסיף הוראה לביצוע-בתנאי: if ( ) else וכותרת הלולאה השנייה תהיה: for (int i = 1; i <= limit; i++) השלימו את ההוראה לביצוע-בתנאי, כך שהתוכנית תבצע את הדרוש int[] arr = new int[8]; שאלה 1026 נתון המערך arr שהצהרתו היא: וערכי איבריו הם: arr[0] 10 arr[1] 20 arr[2] 40 arr[3] 30 arr[4] 4 arr[5] 5 arr[6] 7 arr[7] 6 for (int i = 0; i < arrlength - 1; i++) if ((i == arr[i]) (i == arr[i + 1])) Systemoutprintln(i); א מה יהיה פלט הלולאה הבאה?

18 מה יהיו ערכי המערך אחרי ביצוע הלולאה הבאה? for (int i = 0; i < arrlength; i++) if (arr[i] == (10 * i)) arr[i] = arr[i] + 1; else arr[i] = arr[i] - 1; } עבור אילו מארבעת הלולאות הבאות תהיה חריגה מגבולות המערך? תקנו לפי הצורך 1 for (int i = 0; i < arrlength; i++) arr[i] = arr[i + 1]; 2 for (int i = 0; i < arrlength - 1; i++) arr[i] = arr[i - 1]; 3 for (int i = 0; i < arrlength - 1; i++) arr[i] = arr[i] * 2; 4 for (int i = 0; i < arrlength - 1; i++) arr[i] = arr[i * 2]; שאלה 1027 השאלה מתייחסת למערך arr בן 8 האיברים שהוגדר בשאלה הקודמת כתבו לולאה אשר תשווה את ערכיהם של כל זוג איברים שכנים במערך arr[0]) ל-[ arr[1, arr[1] ל-[ arr[2, arr[6], ל-[ arr[7 ), ותחשב את מספר זוגות האיברים השכנים שערכיהם שווים זה לזה שימו : לא לחרוג מגבולות המערך ב ג שאלה 1028 על תמר הוטל לכתוב תוכנית המגדירה מערך בן 50 תאים, ומציבה בהם את הערכים: תמר כתבה: double[] arr = new double[50]; for (int i = 0; i < arrlength * 2; i++) arr[i] = i / 2; האם קטע התוכנית נכון? אם איננו נכון תקנו את השגיאות כך שתושג המטרה המבוקשת for (int i = 0; i < n - 2; i++) if (a[i] + 2 == a[i + 2]) Systemoutprintln(i + " " + a[i]); שאלה 1029 (מבגרות 2002) לפניכם קטע תוכנית: a הוא המערך הבא בגודל 10: a: א עקבו בעזרת טבלת מעקב אחר קטע התוכנית עבור 10=n ועבור המערך a הנתון, ורשמו מה יהיה הפלט ב הסבירו מדוע קבע כותב קטע התוכנית שהתנאי להמשך ביצוע הלולאה יהיה 2-n i < ולא i<n

19 103 קשרים בין מערכים בדוגמאות שראינו עד כה השתמשנו במערך יחיד לעתים פתרון בעיה מצריך יותר ממערך אחד בסעיף זה נראה פתרונות אלגוריתמיים המשתמשים ביותר ממערך אחד בחלקו הראשון של הסעיף נציג עיבוד של כמה מערכים במקביל בקצב התקדמות זהה, ובחלקו השני נעסוק גם בעיבוד של כמה מערכים שאינו נעשה באותו קצב התקדמות עיבוד מערכים במקביל ובקצב התקדמות זהה השאלה הבאה עוסקת בניתוח קטע תוכנית המעבד במקביל שני מערכים, שאחריה מצריך שימוש בשלושה מערכים ופתרון השאלה שאלה 1030 m1 ו- m2 הם שני מערכים שהוצהרו באופן הבא: final int SIZE = 10; int m1[] = new int[size]; int m2[] = new int[size]; נתונים שני קטעי התוכניות הבאים אשר אמורים להציג כפלט אם שני המערכים מכילים בדיוק את אותם איברים באותו סדר boolean compare = false; for (int i = 0; i < SIZE; i++) compare = (m1[i] == m2[i]); if (compare) Systemoutprintln("The arrays are equal"); else Systemoutprintln("The arrays are not equal"); II I boolean compare = false; for (int i = 0; i < SIZE; i++) if (m1[i] == m2[i]) compare = true; if (compare) Systemoutprintln("The arrays are equal"); else Systemoutprintln("The arrays are not equal"); שני קטעי התוכניות שגויים ענו על הסעיפים הבאים ביחס לכל אחד מהקטעים: א הביאו דוגמה לערכים של איברים בשני המערכים שקטע התוכנית משיג את מטרתו עבורם ב הביאו דוגמה לערכים של איברים בשני המערכים שקטע התוכנית אינו משיג את מטרתו עבורם, והסבירו מדוע זה קורה ג תקנו את קטע התוכנית כך שישיג את מטרתו שאלה 1031 כיתה י' 5 ניגשה למבחן לאחר המבחן הוחלט כי הכיתה כולה תיגש למבחן נוסף, והציון הגבוה מבין שני ציוני המבחנים לכל תלמיד יהיההציון הקובע פתחו אלגוריתם הקולט את מספר התלמידים בכיתה, ולאחר מכן קולט את ציוני המבחן הראשון למערך בשם grade1 ואת ציוני המבחן השני למערך בשם grade2 האלגוריתם ימלא מערך בשם finalgrade כך שיכיל את הציון הקובע לכל אחד מתלמידי הכיתה, ויציג כפלט עבור כל אחד מהתלמידים את ציון המבחן הראשון, את ציון המבחן השני ואת הציון הקובע בליווי הודעות מתאימות ישמו את האלגוריתם בשפת Java

20 עיבוד מערכים במקביל בקצב התקדמות לא זהה בעיה 4 מטרת הבעיה ופתרונה: הצגת עיבוד של כמה מערכים במקביל בקצב התקדמות לא זהה פתחו אלגוריתם המקבל כקלט מספר חיובי שלם,num ולאחר מכן קורא מהקלט num מספרים שלמים לתוך מערך numbers האלגוריתם מעתיק מהמערך numbers את המספרים החיוביים למערך positive ואת המספרים השליליים למערך,negative ושומר על סדר המספרים ישמו את האלגוריתם בשפת Java ניתוח הבעיה בעזרת דוגמאות נניח כי הקלט הוא המערך numbers ישמור בתוכו 5 מספרים שלמים בעקבות ההעתקה הדרושה יכיל המערך positive שלושה איברים: 3 1, ו- 4 המערך negative יכיל שני איברים: 1- ו- 2 - אנו רואים כי לא רק שלכל מערך מועתק מספר שונה של איברים, אלא שקצב ההתקדמות על המערכים הללו שונה: ייתכן כי נסרוק כמה איברים ברצף במערך,numbers נשים אותם באחד המערכים, אך במקביל לא נתקדם כלל בהשמה במערך האחר למשל בדוגמת הקלט שלעיל, בזמן שבמערך numbers נסרק האיבר השלישי והרביעי בזה אחר זה, אין כלל התקדמות במילוי המערך negative פירוק הבעיה לתת-משימות קליטת מספר הערכים לעיבוד קליטת רשימת הערכים ושמירתה במערך numbers ביצוע במקביל של סריקת המערך numbers ומילוי המערכים positive ו- negative בחירת משתנים כדי לסרוק את המערכים בקצב התקדמות לא זהה, עלינו לשמור שלושה מציינים שונים, אחד עבור כל מערך: המציין של המערך numbers יסרוק את איברי המערך בזה אחר זה המציין של המערך positive והמציין של המערך negative יצביעו בכל רגע על המקום הפנוי הבא במערך המתאים להם, כדי שהעתקת האיבר הבא תתבצע למקום הנכון המציין של המערך numbers יתקדם ב- 1 בכל פעם שנסיים עיבוד של איבר תורן במערך ונתקדם לעבר האיבר הבא כל אחד מהמציינים האחרים, של המערך positive ושל המערך,negative יתקדם ב- 1 רק אחרי ביצוע העתקה למערך שאליו הוא מתייחס נשתמש במשתנים הבאים: size מספר הערכים לעיבוד size מערך מטיפוס שלם, בגודל numbers size מערך מטיפוס שלם, בגודל positive size מערך מטיפוס שלם, בגודל negative

21 numbers מטיפוס שלם, יציין את מיקום האיבר התורן במערך indexnum positive מטיפוס שלם, יציין את המקום הפנוי הבא במערך indexpos negative מטיפוס שלם, יציין את המקום הפנוי הבא במערך indexneg האלגוריתם size-á íìù éáåéç êøò èåì :òöá size-1 ãò 0-î íìù i ìë øåáò numbers[i]-á ïåúð èåì 21 0-á indexpos úà ìçúà 0-á indexneg úà ìçúà :òöá size-1 ãò 0-î íìù indexnum ìë øåáò numbers[indexnum] > 0 íà 51 positive[indexpos]-ì numbers[indexnum] ìù åëøò úà úòä á indexpos ìù åëøò úà ìãâä 512 úøçà 52 negative[indexneg]-ì numbers[indexnum] ìù åëøò úà úòä á indexneg ìù åëøò úà ìãâä שאלה 1032 ישמו את האלגוריתם לפתרון בעיה 4 בשפת Java 4 סוף פתרון בעיה שאלה 1033 פתחו אלגוריתם אשר מקבל כקלט מספר חיובי שלם, ולאחר מכן קולט רשימת מספרים שאורכה כערך הנתון הראשון האלגוריתם ישמור את המספרים הנקלטים בשני מערכים שונים, מערך אחד עבור מספרים זוגיים, ומערך אחר עבור מספרים אי-זוגיים האלגוריתם יציג כפלט את כל הערכים שברשימה: ראשית את כל המספרים הזוגיים, לפי סדר קליטתם ואחר-כך את כל המספרים האי-זוגיים לפי סדר קליטתם ישמו את האלגוריתם בשפת Java שאלה 1034 נניח ש- arr1 ו- arr2 הם שני מערכים מטיפוס שלם ואורכם אינו בהכרח שווה כתבו קטע תוכנית אשר מעתיק למערך שלישי,arr3 רק את האיברים אשר נמצאים גם ב- arr1 וגם ב- arr2 למשל, אם ב- arr1 וב- arr2 נמצאים הערכים הבאים: arr arr אז ב- arr3 יהיו הערכים הבאים: arr הדרכה: יש להשתמש בקינון של לולאות

22 104 מערך מונים בפרק 7 למדנו על משתנה מסוג מונה למדנו כי מונה הוא משתנה אשר תפקידו למנות מספר של אירועים שמתרחשים (כמו למשל הופעות של נתוניםאו מספר חישובים שביצענו) כיוון שהשימוש במונה הוא לצורך ספירה, מונה הוא משתנה מטיפוס שלם לעתים יש למנות במקביל אירועים שונים לשם כך ניתן להשתמש במערך של מונים, כפי שמדגימה הבעיה הבאה העבודה עם מערך מונים היא תבנית שימושית לפתרון בעיות אלגוריתמיות בעיה 5 מטרת הבעיה ופתרונה: הצגת מערך מונים ושימוש בו בתוכנית "כוכב נולד" יש N מועמדים ולכל מועמד מספר סידורי בין 1 ל- N הצופים בבית נתבקשו לבחור את אחד המועמדים ולהצביע עבורו בכל תוכנית המועמד שמקבל את מספר הקולות הקטן ביותר עוזב את התוכנית פתחו אלגוריתם אשר מקבל כקלט את מספר המועמדים (מספר חיובי שלם), ואחר כך קולט רשימה של הצבעות של הצופים, המסתיימת במספר - 1 האלגוריתם מודיע מי המועמד אשר קיבל את מספר הקולות הקטן ביותר ישמו את האלגוריתם בשפת התכנות Java פירוק הבעיה לתת-משימות קליטת מספר מועמדים קליטת הצבעות למועמדים תוך מניה של ההצבעות עבור כל מועמד מציאת המונה בעל הערך המינימלי והצגה של המועמד שאליו הוא מתאים בחירת משתנים כדי לבצע את תת-משימה 2 עלינו לתפעל במקביל כמה מונים, מונה לכל מועמד כלומר מספר המונים שווה למספר המועמדים כמובן שאין אנו יכולים להצהיר על מונה נפרד לכל מועמד: מספר המועמדים אינו ידוע מראש, ואפילו אם היה ידוע, ייתכן כי הוא גדול למדי בכל מקרה, הצהרה על מונה נפרד לכל מועמד הופכת את התוכנית למסורבלת, לפחות קריאה ולקשה יותר לשינוי (למשל אם מספר המועמדים ישתנה) לכן ניצור מערך שאורכו כמספר המועמדים, וכל תא בו י י צג מונה נזדקק למשתנים הבאים: numofsingers מטיפוס שלם, שומר את מספר המתמודדים בתחרות votes מערך מטיפוס שלם, מערך מונים באורך numofsingers למניית ההצבעות עבור כל מועמד ומועמד vote מטיפוס שלם, שומר הצבעה תורנית מהקלט min מטיפוס שלם, לשמירת ההצבעה המצטברת הנמוכה ביותר minsinger מטיפוס שלם, שומר את מספר המתמודד שקיבל את מספר ההצבעות הנמוך ביותר

23 האלגוריתם לצורך ביצוע תת-משימה 2 יש להשתמש בלולאה, אשר בכל סיבוב בו תיקלט הצבעה נוספת מהקלט, ובהתאם לערכה יגדל ערכו של המונה המתאים מאחר שמספר ההצבעות אינו ידוע מראש, ומאחר שסוף רשימת ההצבעות מצוין בזקיף, נשתמש בלולאת while שהתנאי בה מתייחס לזקיף לצורך ביצוע תת-משימה 3 נחפש את האיבר הקטן ביותר במערך המונים שימו : יש להציג כפלט את מספרו הסידורי של המתמודד שקיבל את מספר הקולות הקטן ביותר, ולא את מספר הקולות שקיבל לכן במקרה זה נשתמש בתבנית של מציאת מקום המינימום numofsingers-á íéããåîúîä øôñî úà èåì 1 vote-á ãîòåî øôñî èåì 2 :òöá vote -1 ãåò ìë 3 vote åøôñîù ããåîúîä ìù (êøòîá) äðåîä úà 1-á äìòä 31 vote-á ãîòåî øôñî èåì 32 ïåùàøä ããåîúîä ìù äðåîä êøòá min úà ìçúà4 1-á minsinger úà ìçúà5 :òöá numofsingers ãò 2-î íìù i ìë øåáò 6 min-î ïè i øôñî ããåîúî ìù äðåîä êøò íà 61 i åøôñîù ããåîúîä ìù äðåîä êøò úà min-á íùä 611 minsinger-á i úà íùä 612 minsinger êøò úà âöä 7 יישום האלגוריתם חשוב לשים לב כי המספרים הסידוריים של המועמדים מתחילים ב- 1, בעוד שמספור איברי המערך מתחיל מ- 0 לכן למשל היישום של הוראה 31 באלגוריתם הוא votes[vote 1]++; if (votes[i 1] < min) והיישום של הוראה 61 הוא התוכנית המלאה קלט : מספר המועמדים בתוכנית "כוכב נולד" והצבות הצופים למועמדים */ /* פלט: המספר הסידורי של המתמודד המפסיד import javautilscanner; public class IsraeliIdol public static void main (String[] args) Scanner in = new Scanner(Systemin); הגדרת משתנים // int numofsingers; int[] votes; int vote; int min; int minsinger;

24 קליטת מספר מועמדים והקצאת גודל מערך מתאים // Systemoutprint("Enter number of contestants: "); numofsingers = innextint(); votes = new int[numofsingers]; אתחול מערך המונים // for(int i = 0; i < numofsingers; i++) votes[i] = 0; קליטת בחירת הצופים בלולאת זקיף // Systemoutprint("Enter a vote, end the list with -1 "); vote = innextint(); while (vote!= -1) הוספת קול נוסף למונה המתאים // votes[vote - 1]++; Systemoutprint("Enter a vote, end the list with -1 "); vote = innextint(); } אתחול משתני מינימום ומקום המינימום // min = votes[0]; minsinger = 1; חיפוש ערך מינימלי ושמירת ערכו וערך המציין שלו // for(int i = 2; i <= numofsingers; i++) if (votes[i - 1] < min) min = votes[i - 1]; minsinger = i; } // if } // for פלט // Systemoutprintln("contestant number " + minsinger + " is going home"); } //main } //class IsraeliIdol שימו : כשם שיש לאתחל משתנה מסוג מונה לאפס, כך גם יש לאתחל כל איבר ואיבר במערך מונים ב- 0 אנו מבצעים אתחול כזה במפורש, למרות שיכולנו להסתמך על כך שבשפת Java איבריו של מערך מטיפוס מספרי מאותחלים אוטומטית ב- 0 אתחול מפורש תורם לבהירות התוכנית ועוד שימו : את תבנית מציאת מקום המינימום ניתן גם ליישם בצורה מעט שונה, הנוחה לעבודה עם מערכים למעשה ביישום זה נשמר רק מקום האיבר המינימלי ולא ערכו, ואנו מסתמכים על כך שבמערך קל לברר את ערכו של איבר כאשר ידוע המציין שלו: חיפוש ערך מינימלי ושמירת ערך המציין שלו // for(int i = 2; i <= numofsingers; i++) if (votes[i - 1] < votes[minsinger]) minsinger = i; Systemoutprintln("contestant number " + minsinger + " is going home"); סוף פתרון בעיה

25 להעמקה בתבנית מערך מונים פנו לסעיף התבניות המופיע בסוף הפרק שאלה 1035 עקבו אחר התוכנית IsraeliIdol בעזרת טבלת מעקב, עבור הקלט (משמאל לימין) שאלה 1036 בכיתה נערכה הצבעה לנציג הכיתה למועצת תלמידים כל תלמיד הקליד במחשב את בחירתו על פי המפתח הבא: עבור רותי יוקלד הערך 1, עבור אלי הערך 2, עבור אביב הערך 3, ועבור אופיר הערך 4 פתחו אלגוריתם המקבל כקלט את מספר התלמידים בכיתה ואת רשימת ההצבעות (הצבעה אחת מכל תלמיד בכיתה) ומציג כפלט את שם המועמד המנצח ישמו את האלגוריתם בשפת Java שאלה 1037 פתחו אלגוריתם הקולט מספר חיובי שלם, ואחר כך מדמה סדרת הטלות קובייה, שאורכה כערך המספר שנקלט פלט האלגוריתם הוא מספר הפעמים שהוגרלה כל אחת משש התוצאות האפשריות להטלת קובייה ישמו את האלגוריתם בשפת התכנות Java שאלה 1038 ששת חברי קבוצה בצופים מצאו דרך חדשה להגרלה הם מחלקים ביניהם את המספרים מ- 1 עד 6, ומטילים קובייה עד אשר מספר כלשהו מוגרל פעמיים החבר בעל המספר שהוגרל פעמיים הוא הזוכה פתחו אלגוריתם אשר מדמה את תהליך זריקת הקובייה ומדפיס את המספר הזוכה ישמו את האלגוריתם בשפת התכנות Java שאלה 1039 בפתרון הבעיה הקודמת השתמשנו במערך מונים, אך בכל מהלך הביצוע ערכיו לא עברו אף פעם את הערך 2 שינוי אחד הערכים במערך ל- 2 הביא לסיום האלגוריתם שנו את הפתרון כך שבמקום מערך מטיפוס שלם, ישתמש במערך מטיפוס בוליאני ישמו את הפתרון החדש בשפת Java שאלה 1040 במשחק "תפוס את הצבע" כל שחקן בוחר צבע שונה הקלט הוא מספר השחקנים והצבע שכל שחקן בחר לאחר מכן עבור כל הקשה על מקש enter מוגרל צבע כלשהו (מתוך הצבעים שנבחרו) המשחק מסתיים כאשר מקישים על האות Q בסוף המשחק בודקים מהו הצבע שהוגרל הכי הרבה פעמים ומציגים את הצבע הזוכה כפלט כתבו תוכנית שתדמה את "תפוס את הצבע" הדרכה: מאתחלים מערך צבעים לפי הקלט שמתקבל מהשחקנים, לדוגמה עבור הקלט: 4, אדום, ירוק, צהוב, סגול, יתקבל המערך הבא: סגול צהוב ירוק אדום את הצבעים יש להגריל מתוך הצבעים שנקלטו בנוסף, יש להגדיר מערך מונים לספירת ההגרלות לכל צבע

26 105 מערך צוברים באותו אופן שמימשנו מערך של מונים, ניתן לממש מערך של צוברים במערך צוברים כל איבר הוא צובר בפני עצמו, אך יש קשר בין משימות הצבירה שהצוברים השונים במערך אחראים להן לצורך פתרון השאלה הבאה יש להשתמש במערך צוברים, שהעבודה עמו מהווה אף היא תבנית שימושית שאלה 1041 במשחק קלפים משתתפים ארבעה שחקנים ולהם מספרים סידוריים מ- 1 עד 4 בכל סבב מוכרזים השחקנים שזכו במקום הראשון, במקום השני ובמקום השלישי השחקן הנותר נחשב כמפסיד המנצח במקום הראשון מקבל 7 נקודות, השחקן שבמקום השני מקבל 3 נקודות, השחקן שבמקום השלישי אינו מקבל נקודות והמפסיד מאבד 4 נקודות המנצח במשחק כולו הוא זה שקיבל את מרב הנקודות בסיום כל הסבבים פתחו אלגוריתם אשר מקבל כקלט את מספר הסבבים, ולאחר מכן מקבל עבור כל סבב את מספרי השחקנים שהגיעו למקום הראשון, השני והשלישי האלגוריתם מציג כפלט את מספרו של השחקן המנצח במשחק ישמו את האלגוריתם בשפת Java שימו : מאחר שניתן גם לאבד נקודות, ייתכן ששחקן יגיע למספר נקודות שלילי שאלה 1042 בספריית הווידיאו יש לכל סרט קוד בן 4 ספרות הספרה השמאלית ביותר מסמנת את קוד המחלקה (בין 1 ל- 6 ), שתי הספרות האמצעיות מסמנות את קוד הסרט (בין 1 ל- 99 ) והספרה הימנית ביותר מסמנת את מספר העותקים בספרייה (בין 1 ל- 9 ) פתחו אלגוריתם המקבל כקלט רשימה של הקודים של כל הסרטים בספרייה המסתיימת במספר 0 פלט האלגוריתם הוא: א קוד המחלקה שיש בה את מספר הסרטים (השונים) הגדול ביותר ב קוד המחלקה שיש בה את מספר עותקי הסרטים הגדול ביותר ישמו את האלגוריתם בשפת Java שאלה 1042 עוסקת במציאת איבר שכיח במערך התבניות המופיע בסוף הפרק להעמקה בתבנית חישוב שכיח לסעיף פנו להעמקה בתבנית מערך צוברים פנו לסעיף התבניות המופיע בסוף הפרק 106 יעילות מקום בכל הבעיות שפתרנו בפרק זה נעזרנו במערך, ועבור כל בעיה ראינו את נחיצות השימוש במערך במהלך הפתרון בסעיף הבא נתמקד באבחנה בין בעיות אשר בפתרונן נחוץ מערך ובין בעיות אשר ניתן לפתור גם ללא מערך, ונבין מדוע לא כדאי להשתמש במערך אם אין בו צורך בעיה 6 מטרת הבעיה ופתרונה: הצגת המדד של יעילות מקום, והשוואה של אלגוריתמים ביחס ליעילות מקום מבט נוסף אל יעילות מבחינת זמן-ביצוע

27 ערוצי הכבלים עורכים מדי פעם סקרים כדי לברר את אחוזי הצפייה בתוכניותיהם השונות פרסום תוצאות סקר כזה כולל רשימת תוכניות יחד עם אחוז צפייה בכל תוכנית א פתחו אלגוריתם אשר הקלט שלו הוא מספר של תוכניות (שלם וחיובי), ולאחר מכן רשימה של אחוזי צפייה בתוכניות ואורכה כערך הנתון הראשון הפלט הוא מספר התוכניות שאחוז הצפייה בהן גבוה מממוצע אחוזי הצפייה ב פתחו אלגוריתם אשר הקלט שלו הוא מספר של תוכניות (שלם וחיובי), ולאחר מכן רשימה של אחוזי צפייה בתוכניות ואורכה כערך הנתון הראשון הפלט הוא מספר התוכניות שאחוז הצפייה בהן גבוה מ- 20% ג האם תשובתכם לסעיף א תשתנה אם ידוע כי רשימת אחוזי הצפייה נתונה בסדר יורד (כלומר תחילה נתון אחוז הצפייה בתוכנית האהודה ביותר, אחר-כך אחוז הצפייה התוכנית האהודה הבאה וכך הלאה, עד אחוז הצפייה בתוכנית שנצפית הכי פחות)? נתחיל בסעיף א הבעיה המוגדרת בסעיף א זהה לחלוטין לבעיה 2 יש לקלוט אורך של רשימת נתונים לא ריקה, לקלוט את הרשימה עצמה, לחשב את ממוצע הערכים, ולמנות את הערכים הגדולים מהממוצע מאחר שכבר פתרנו בעיה זהה לה, לא נחזור כעת על הפתרון בפירוט, רק נזכיר שהפתרון משתמש במערך לשמירת ערכי הקלט (במקרה זה, רשימת אחוזי הצפייה) נעבור כעת לסעיף ב ניתוח הבעיה בעזרת דוגמאות נניח כי הקלט הוא במקרה זה הפלט הוא 2, כי אחוז הצפייה בשתי תוכניות (הראשונה והרביעית) גבוה מ- 20% אין אנו נדרשים לחשב ממוצע של אחוזי הצפייה פירוק הבעיה לתת-משימות ניתן להציג פירוק הדומה לפירוק המתאים לסעיף א: 1 קליטת מספר התוכניות 2 קליטת אחוזי הצפייה ושמירתם 3 השוואת כל אחוז צפייה ל- 20 ומנייתו אם הוא גדול מ- 20 פירוק זה אכן מורה על שימוש במערך קודם כל נשמרים הנתונים, ואחר כך הם מעובדים (במקרה זה, מושווים ל- 20 ונמנים בהתאם לתוצאת ההשוואה) האם ניתן להציג פירוק פשוט יותר, שאינו מחייב שימוש במערך? כן! ניתן לעבד כל נתון נקלט מיד עם קליטתו, להשוותו ל- 20, ולהחליט אם למנות אותו או לא, ובעצם אין צורך בשמירת ערכי הקלט לאחר מכן לכן נקבל את הפירוק הבא לתת-משימות: קליטת מספר התוכניות קליטת אחוזי הצפיה, ועבור כל אחוז צפייה נקלט, השוואתו ל- 20 ועדכון המונה בהתאם 1 2 בחירת משתנים מאחר שכאמור אין צורך במערך נשתמש במשתנים הבאים: numofprograms מטיפוס שלם, ישמור את מספר התוכניות rate מטיפוס ממשי, ישמור את אחוז הצפייה התורן בקלט

28 above20counter מטיפוס שלם, מונה לשמירת מספר אחוזי הצפייה הגבוהים מ- 20 האלגוריתם numofprograms-á úåéðëåúä øôñî úà èåì 1 0-ì above20counter ìù åëøò úà ìçúà 2 :òöá numofprograms ãò 0-î íìù i ìë øåáò 3 rate-á ïøåúä äééôöä æåçà úà èåì < rate íà 32 1-á above20counter ìù åëøò úà ìãâä 321 above20counter ìù åëøò úà âöä 4 אם כך, למרות שהבעיה המוגדרת בסעיף א והבעיה המוגדרת בסעיף ב נראות דומות, הרי לפתרון סעיף א יש צורך במערך ואילו לפתרון סעיף ב אין צורך במערך מדוע יש בכך חשיבות? כידוע, בעת ביצוע תוכנית אשר יש בה שימוש במערך, מוקצה שטח זיכרון המספיק עבור כל איברי המערך מספר תאי הזיכרון המוקצים למערך הינו מרכיב משמעותי בקביעת גודל הזיכרון הכולל הדרוש לביצוע התוכנית כיוון שמשאבי הזיכרון של המחשב מוגבלים, נשתדל לפתח אלגוריתמים שגודל המקום הדרוש לביצועם הוא מצומצם במידת האפשר כלומר נשתדל לפתח אלגוריתמים יעילים עד כמה שניתן מבחינת מקום בזיכרון זאת בנוסף להקפדה על יעילות מבחינת זמן-ביצוע, כפי שהוצג בפרק 8 כאשר יש שני אלגוריתמים שונים לפתרון אותה בעיה, ובאחד מהם משתמשים במערך ובאחר אין משתמשים במערך, נאמר שהאלגוריתם האחר נעבור לפתרון סעיף ג ניתוח הבעיה בעזרת דוגמאות יעיל יותר מבחינת מקום בזיכרון גם בסעיף זה יש לפתח אלגוריתם הפותר את הבעיה שהוצגה בסעיף א אבל שלא כמו בסעיף א, נתון לנו מאפיין נוסף של הקלט: רשימת אחוזי הצפייה נתונה בסדר יורד הנה קלט לדוגמה העונה להגדרת הבעיה: ?? ממוצע הערכים הנתונים הוא 236 הערכים הגבוהים מן הממוצע הם 30 41, ו- 29 ניתן לראות כי מאחר שרשימת הערכים נתונה בסדר יורד, כל הערכים הגבוהים מן הממוצע נמצאים בתחילת הרשימה בדיוק כמו בסעיף א, את ההשוואה לממוצע ניתן לבצע רק לאחר חישוב הממוצע, כלומר רק לאחר קליטת כל הערכים האם ניתן לפתור סעיף זה ללא מערך? לא מאחר שההשוואה לממוצע יכולה להיעשות רק אחרי סיום הקלט, יש לשמור את כל הערכים הנקלטים, ולשם כך נחוץ מערך האם נוכל בכל זאת לשפר את הפתרון בשימוש במאפיין הקלט הנוסף? בעזרת דוגמת הקלט שניתחנו ראינו כי הערכים הגדולים מן הממוצע נמצאים כולם בתחילת הרשימה, ולכן גם יישמרו ראשונים בשלב שמירת הקלט לכן, בשלב ההשוואה לממוצע לא נצטרך לעבד שוב את כל ערכי הקלט, אלא רק את אלה המופיעים בהתחלה

29 לכן, במקום להשתמש בהוראה לביצוע-חוזר מספר פעמים ידוע מראש שתעבור על כל האיברים שנשמרו, נוכל להשתמש בהוראה לביצוע-חוזר-בתנאי התנאי יאפשר את המשך ביצוע הלולאה כל עוד האיבר התורן גדול מהממוצע ניתוח זה מראה כי הפתרון שניתן לא יהיה יעיל יותר מהפתרון של סעיף א מבחינת מקום בזיכרון, אבל יהיה בו שיפור מבחינת יעילות זמן: מניית הערכים הגדולים מהממוצע תעבור רק על חלק מהאיברים שנשמרו ולא על כולם פירוק הבעיה לתת-משימות בהתאם לניתוח שערכנו, נפרק את הבעיה באופן הבא: קליטת מספר התוכניות קליטת אחוזי הצפייה, שמירתם וצבירתם חישוב הממוצע מעבר על הערכים הגדולים מן הממוצע תוך כדי מנייתם הצגת ערך המונה בחירת משתנים numofprograms מטיפוס שלם, לשמירת מספר התוכניות rating מערך מטיפוס ממשי בן numofprograms איברים לשמירת אחוזי הצפייה הנתונים, והם יהיו מסודרים בו בסדר יורד sumofrating מטיפוס ממשי, צובר שישמור את סכום אחוזי הצפייה averageofrating מטיפוס ממשי, לשמירת ממוצע אחוזי הצפייה aboveaveragecounter מטיפוס שלם, מונה את אחוזי הצפייה הגבוהים מאחוז הצפייה הממוצע התוכנית המלאה /* (שלם חיובי) מספר של תוכניות קלט: נתונים בסדר יורד ורשימת אחוזי צפייה בתוכניות, מספר אחוזי הצפייה הגבוהים מאחוז הצפייה הממוצע פלט: */ import javautilscanner; public class AboveAverage public static void main (String[] args) Scanner in = new Scanner(Systemin); הגדרת משתנים // numofprograms; int מספר התוכניות // double[] rating; מערך אחוזי הצפייה // 0; = sumofrating double צובר אחוזי הצפייה // ; averageofrating double ממוצע אחוזי הצפייה // מונה הגבוהים מהממוצע // 0; = aboveaveragecounter int קלט וצבירה // Systemoutprint("Enter number of programs: "); numofprograms = innextint(); rating = new double[numofprograms];

30 for (int i = 0; i < numofprograms; i++) Systemoutprint("Enter rating percentage"); rating[i] = innextint(); sumofrating = sumofrating + rating[i]; } // for חישוב ממוצע // averageofrating = sumofrating / numofprograms; מניית הגבוהים מהממוצע // int i = 0; while(rating[i] > averageofrating) i++; aboveaveragecounter++; } // while פלט // Systemoutprintln("The rating of " + aboveaveragecounter + " programs is above average"); } // main } //class AboveAverage שימו העובדה שאחוזי הצפייה מסודרים בסדר יורד מאפשרת לסיים את לולאת ה- while מבלי לעבור על כל איברי המערך התנאי rating[i] > averageofrating משמש כתנאי כניסה ללולאה ולכן המנייה מסתיימת ברגע שנמצא אחוז צפייה שאינו גבוה מהממוצע אינה שאלה 1043 מדוע מובטח כי ההוראה לביצוע-חוזר-בתנאי, המונה את הערכים הגבוהים מהממוצע, לולאה אינסופית (במילים אחרות מדוע מובטח כי תנאי הכניסה יתקיים בשלב כלשהו)? 6 סוף פתרון בעיה מפתרון בעיה 6 למדנו לקח חשוב: יש לנצל עד כמה שניתן את מאפייני הקלט-פלט כדי לנסח אלגוריתם יעיל, הן מבחינת מקום בזיכרון והן מבחינת זמן-ביצוע ייתכנו שתי בעיות אלגוריתמיות הנראות דומות, לפחות במבט ראשון, ופתרונות יעילים עבורן נבדלים זה מזה הן מבחינת מקום והן מבחינת זמן בפרט, ייתכן שעבור פתרון בעיה אחת נחוץ מערך ועבור פתרון הבעיה האחרת לא נחוץ מערך שאלה 1044 נתונה רשימת קלט של 40 ציונים סמנו אם לביצוע כל אחד מהחישובים הבאים נחוץ מערך או לא: א מספר הציונים הגבוהים מ- 80 נחוץ / לא נחוץ ב מספר הציונים השווים לציון הראשון ברשימה נחוץ / לא נחוץ ג מספר הציונים הגבוהים מן הציון האחרון ברשימה נחוץ / לא נחוץ ד מספר הציונים הנמוכים מן הציון הלפני אחרון ברשימה נחוץ / לא נחוץ ה מספר הציונים הנמוכים מן הציון הראשון ומן הציון האחרון נחוץ / לא נחוץ ו מספר הציונים הנמוכים מממוצע הציונים נחוץ / לא נחוץ ז מספר הציונים הגבוהים מהממוצע של שני הציונים הראשונים נחוץ / לא נחוץ

פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר.

פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר. פרק 7 ביצוע-חוזר עד כה הכרנו בעיות אשר לשם פתרונן ביצענו מספר תת-משימות שונות, באופן סדרתי. כלומר כל תת-משימה בסדרה בוצעה פעם אחת (ואם זו משימה שביצועה תלוי בתנאי, ייתכן שלא בוצעה אפילו פעם אחת). אולם

More information

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:

More information

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור

More information

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ

More information

ASP.Net MVC + Entity Framework Code First.

ASP.Net MVC + Entity Framework Code First. ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג

More information

למבחן ביסודות מדעי המחשב דוגמא

למבחן ביסודות מדעי המחשב דוגמא פרק א' למבחן ביסודות מדעי המחשב דוגמא כתוב תכנית הקולט מספר למשתנה N ולאחריו N מספרים שלמים ומדפיס את כמות המספרים המתחלקים ב 3 - ללא שארית. (10 נקודות). כתוב ביטוי בוליאני המייצג את התנאי הבא: ספרת העשרות

More information

בוחן בתכנות בשפת C בצלחה

בוחן בתכנות בשפת C בצלחה בוחן בתכנות בשפת C ) כתוב תכנית הקולטת ממשתמש מספרים שלמים ומדפיסה כמה מספרים היו גדולים מ-, כמה מספרים היו קטנים מ-, וכמה מספרים היו שווים ל-. 2) כתוב תכנית הקלטת עשרה מספרים טבעיים ומחשבת את הממוצע שלהם.

More information

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10 תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית: שאלות לפי נושאים: 3 שאלות העוסקות בנוסחת האיבר הכללי: 3 שאלות העוסקות בסכום סדרה חשבונית: 4 שאלות מסכמות: 5 תשובות סופיות: 8 סיכום תכונות הסדרה ההנדסית:

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין

More information

5.1 הוראה לביצוע-בתנאי

5.1 הוראה לביצוע-בתנאי פרק 5 ביצוע מותנה בשני הפרקים הקודמים ראינו אלגוריתמים שבמהלך ביצועם מתבצעת כל אחת מהוראות האלגוריתם. בפרק זה נכיר אלגוריתמים אשר במהלך ביצועם לא מתבצעות תמיד כל הוראות האלגוריתם. אלגוריתמים אלה כוללים

More information

Practical Session No. 13 Amortized Analysis, Union/Find

Practical Session No. 13 Amortized Analysis, Union/Find Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

שאלות חזרה לקראת מבחן מפמר אינטרנט וסייבר שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר שאלה.1 ייצוג מידע בטבלה שלפניכם מספרים בבסיס. כל מספר מיוצג ע"י 5 סיביות. 10011 = 01100 = 00111 = 11000 = 11010 = 00101 = 10000 = 01111 = ד. יש להשלים את הערך

More information

מבוא למחשב בשפת פייתון

מבוא למחשב בשפת פייתון 234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5

More information

Patents Basics. Yehuda Binder. (For copies contact:

Patents Basics. Yehuda Binder. (For copies contact: Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source

More information

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

סהכ נקודות סהכ 31 נקודות סהכ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט מבחן 0220 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5

More information

המבנה הגאומטרי של מידה

המבנה הגאומטרי של מידה התוכנה מאפשרת לרשום מידות מסוגים שונים בסרטוט, במגוון סגנונות ובהתאם לתקנים המקובלים. רצוי לבצע מתן מידות בשכבה המיועדת לכך. לכל מידה יש תכונות של בלוק. תהליך מתן המידות מתחיל תמיד מקביעת סגנון המידות.

More information

פרק מיון וחיפוש - לשם מה? הגדרה

פרק מיון וחיפוש - לשם מה? הגדרה פרק מיון וחיפוש - לשם מה? מה הוא מיון? מיון נתונים הוא סידורם בסדר עולה או יורד. מיון יכול להיות מספרי או אלפביתי. ברשימת נתונים ממוינת ניתן לייעל את זמן איתור הנתונים. מה הוא חיפוש? חיפוש הוא תהליך איתור

More information

יסודות מבני נתונים. תרגול :9 ערימה - Heap

יסודות מבני נתונים. תרגול :9 ערימה - Heap יסודות מבני נתונים תרגול :9 ערימה - Heap maximum שאלה: כמה זמן לוקח לחפש איבר בערימה? תשובה:,O(n) למרות שבערימה קיים סדר מסויים. Heaps 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 דוגמה: 7 11 13 21 12 17 20 34

More information

תרגול 8. Hash Tables

תרגול 8. Hash Tables תרגול Hash Tables ds-ps חידה מהשיעור הקודם בכל השקים המטבעות שוקלים ורק בשק אחד המטבעות שוקלים.. מותר לנו לבצע שקילה אחת בלבד! איך נדע מה השק הקל יותר? שקים עם מטבעות ds-ps מה היה לנו דיברנו על מבני נתונים

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500

More information

בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println("Enter two numbers:"); String s1;

בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println(Enter two numbers:); String s1; פרק 9 המחלקה מחרוזת (String) בתוכניות שכתבנו עד כה השתמשנו בטיפוסים שונים המוגדרים בשפת :Java שלם, ממשי, תווי ובוליאני. יכולנו להגדיר משתנים מטיפוסים אלו ולבצע עליהם פעולות שונות (קלט, פלט, חישובים וכו').

More information

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O

More information

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל סטטיסטיקה והסתברות בשאלון 802 שבאתר 11 סטטיסטיקה 802 1. לפניכם ההתפלגות של יבול עגבניות בטונות, במספר מסוים של חלקות שדה: 9 7 8 12 7 7 6 8 4 x יבול בטונות שכיחות ממוצע היבול לחלקה הוא 7 טון. מצאו בכמה חלקות שדה יבול העגבניות היה 4 טון? א.

More information

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות תכנות בסביבת האינטרנט 1 כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות כפתור רדיו משמש למקרים שבהם יש לבחור באפשרות אחת מתוך רשימת האפשרויות שבקבוצה. למשל: שאלון רב-ברירות )שאלון אמריקאי( שבו יש רק תשובה אחת

More information

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson

More information

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת. 1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD

More information

תרגול 11 תור עץ חיפוש בינארי

תרגול 11 תור עץ חיפוש בינארי 2018 מבוא למדעי המחשב תרגול 11 תור עץ חיפוש בינארי ראינו בהרצאות מבני נתונים נוספים עצים בינאריים עצי חיפוש בינאריים תור מחסנית נראה בתרגול מבני נתונים חדשים תור ממשק + מימוש + שאלה עץ חיפוש בינארי תזכורת

More information

A R E Y O U R E A L L Y A W A K E?

A R E Y O U R E A L L Y A W A K E? A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from

More information

THINKING ABOUT REST THE ORIGIN OF SHABBOS

THINKING ABOUT REST THE ORIGIN OF SHABBOS Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and

More information

מושגים בסיסיים תלמידים והורים יקרים,

מושגים בסיסיים תלמידים והורים יקרים, אחוזים מושגים בסיסיים תלמידים והורים יקרים, לפניכם קובץ ובו מושגים בסיסיים בשאלות אחוזים. הקובץ מכיל 12 מושגים. רצוי לעבור על חומר הלימוד לפני המעבר על המבחנים. ניתן להדפיס קובץ זה כדי שיהיה לפני התלמיד/ה

More information

בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

בחינת בגרות, תשעז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן מדעי המחשב פרק ראשון Jv שאלה 1 C# עמוד 1 Jv שאלה 2 C# עמוד 2 שאלה 3 1 2 3 5 7 11 13 3 א. הפלט עבור = 15 n עמוד מטרת הפעולה: הכברה של ארתוסטנס חישוב והדפסת כל המספרים הראשוניים עד n. )כברה = מסננת( )הפעולה

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about

More information

יחידה ארגון המחשב ושפת סף: שאלות תרגול

יחידה ארגון המחשב ושפת סף: שאלות תרגול פרק א יחידה 711998 ארגון המחשב ושפת סף: שאלות תרגול 1. נתון המספר השלילי 0eah )בגודל בית(, בייצוג משלים ל- 2. איזה מהמספרים הבאים הוא ערכו בעשרוני? א. -21 ב. -22 ג. -22 ד. -222 2. נתון המספר השלילי 0edh

More information

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שם: ת.ז: ציון: Computer Structure Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שאלה 1 appleממש מערכת אשר קולטת בכל מחזור שעון ביט קלט בודדX. כדי להגדיר את הפלט של המערכת במחזור השעון הappleוכחי

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים תנועה בעזרת קוד שעור 9 הישגיים 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00472000 G.F 2ND

More information

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע

More information

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ANNEXURE E1-1 FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the

More information

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן.

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן. - 115-5 פרק יעילות יש יותר מדרך אחת לפצח אגוז. אפשר להניחו על הרצפה ולרקוע עליו, אפשר לפצחו בעזרת השיניים או להיעזר באגוז נוסף, ואפשר כמובן להשתמש במפצח אגוזים. בכל הדרכים נשיג את מטרתנו אגוז מפוצח. מבחינת

More information

Redirection The Input Buffer

Redirection The Input Buffer מבוא לשפת C תירגול 3: טיפוסים והמרות 1 מה היה שבוע שעבר? משתנים קלט/פלט scanf) ו- printf ) Redirection The Input Buffer 2 תוכנייה טיפוסי משתנים קלט/פלט מעוצב המרה בין טיפוסים 3 חישוב ממוצע בין שני מספרים

More information

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית נושאים: מערכים, רשימות מרצה ומתרגלים אחראים: איתן בכמט, איסנה וקסלר, רז ניסים תאריך פרסום: 11.21 תאריך הגשה:

More information

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also

More information

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות שיעור מדדי מרכז מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות modeשכיח medianחציון meanממוצע שכיח MODE הגדרה: הנתון בעל השכיחות הגבוהה ביותר תכונות השכיח

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD

More information

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015 1 U n t er r ich t splan חיבור וחיסור זוויות :Altersgruppe כיתה ד, כיתה ה :Online-Ressourcen מכל זווית אפשרית פתיחה הצגת המשחק תלמידים משחקים סיום 1 min 20 min 1 2 min 1 2 min מטרות לימודיות להתנסות במודל

More information

A Long Line for a Shorter Wait at the Supermarket

A Long Line for a Shorter Wait at the Supermarket A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the

More information

הקיטסיגול הרבחה יעדמל בלושמה גוחה

הקיטסיגול הרבחה יעדמל בלושמה גוחה ניהול מערכות תובלה ושינוע זרימה ברשת עץ פורס מינימאלי Minimal Spanning Tree הבעיה: מציאת חיבור בין כל קודקודי גרף במינימום עלות שימושים: פריסת תשתית אלגוריתם חמדן (Greedy) Kruskal(1956) Prim(1957) השוואה

More information

תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

תאריך הבחינה: מבוא למדעי המחשב ד ר פז כרמי פרופ' מייק קודיש ד ר חן קיסר ד ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: מבוא למדעי המחשב 202-1-1011 מבחן אנא קראו את ההוראות שלהלן בעיון: תאריך הבחינה: 622011 שמות המרצים: מר שי זקוב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

More information

פרק מושגים חדשים שימוש בפונקציות לשם מה?

פרק מושגים חדשים שימוש בפונקציות לשם מה? פרק 9 שימוש בפונקציות לשם מה? השימוש בפונקציות מסייע לבצע פעולות מורכבות בקלות וביעילות. בשפת Java קיימות ספריות המכילות אוספים של פונקציות מוכנות. הפונקציות בספריה הוגדרו ונכתבו מראש על ידי מתכנני השפה

More information

התכנית הראשונה שלי

התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר תחילה את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת.Java התכנית

More information

אנגלית (MODULE E) בהצלחה!

אנגלית (MODULE E) בהצלחה! 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016481 מספר השאלון: א. משך הבחינה: שעה ורבע אנגלית שאלון ה' (MODULE E) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה: בשאלון זה

More information

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמר לכיתה ט', רמה מצומצמת , תשעב טור א' ה פ ו י ת ש כ ו ל מ ע י ם על ה ו ר ת ה מ ת מ ט י ק ה כ" ייר, תשע".5.0 מחוון למחן מפמ"ר לכיתה ט', רמה מצומצמת 0, תשע" שלה סעיף תשוות טור ' ניקו מפורט והערות תשוה: סעיף III נקוות תשוה מלה נק' לכל שיעור משיעורי

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב בינה מלאכותית ומהפיכת הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב מעבדות -אתמול ד"ר קובי גל מעבדות -היום ד"ר קובי גל למידה בקבוצות -אתמול ד"ר קובי גל למידה בקבוצות -היום ד"ר קובי גל הזדמנות

More information

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי( בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"א, 2011 מועד הבחינה: משרד החינוך 016117 מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת א. משך הבחינה: שעה וחצי שאלון

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:

More information

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 מבוא למדעי המחשב בשפת JAVA חוברת תרגילים תוכן עניינים מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 אבני הבניין של השפה... 2 תרגילי תחביר... 3.1.2 משפטי תנאי... 3 א. תרגילי תחביר ב. ג. תרגילי תחביר לולאות...

More information

2 יחידות לימוד הוראות לנבחן רשו ם "טיוטה" בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה!

2 יחידות לימוד הוראות לנבחן רשו ם טיוטה בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחנים חיצוניים ב. משרד החינוך קיץ תשע"ד, 2014 מועד הבחינה: 602 899222, מספר השאלון: מדעי המחשב 2 יחידות לימוד הוראות לנבחן משך הבחינה: שלוש

More information

לאחר מכן נוכל לכתוב תוכניות שכוללות אלגוריתמים

לאחר מכן נוכל לכתוב תוכניות שכוללות אלגוריתמים 1 ברק גונן נלמד את הפקודות הבסיסיות של אסמבלי הגדרת משתנים ופקודת העתקה )מצגת 6( פקודות אריתמטיות, לוגיות, הזזה )מצגת 7( פקודות השוואה, קפיצה ולולאות )מצגת 8( בחלקים: לאחר מכן נוכל לכתוב תוכניות שכוללות

More information

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G) 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016582 מספר השאלון: א. משך הבחינה: שעה וארבעים וחמש דקות אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה:

More information

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל קריאת גרפים בשאלון 801 שבאתר  116 קריאת גרפים באתר "עגורים" מופיע סרטון המציג פתרון מלא לכל תרגיל מפרק זה. כנסו באתר לשאלון 801 לפרק "קריאת גרפים" ושם תוכלו למצוא את כל הסרטונים המציגים פתרון לתרגילי המאגר המופיעים בחוברת. בהצלחה!!! 116

More information

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה כנס חינוך משנה מציאות מכון מופ"ת המכללה ע"ש דוד ילין מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה ד"ר רינת ארביב-אלישיב ד"ר ורדה צימרמן 1 מבוא נשירת מורים היא תופעה חברתית המתרחבת

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א' תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן א נ ג ל י ת סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון א' של בחינת הבגרות שסמלו

More information

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

ãówh,é ËÓÉÔê ÌW W É Å t Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH * .1.2.3 (X).1.2.3.4.5.6 בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל חורף תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון

More information

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה.

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה. מדעי המחשב ב' פרק - ראשון מבני נתונים שאלה א. ייצוג: 1 O(n) פעולות הוספה ו-האם-קיים ב- O(n) פעולות הצג-מינימום ו- הוצא-מקסימום ב- (1)O רשימה דו-כיוונית ממוינת )בסדר עולה או יורד( )בגודל n( הפנייה לאיבר

More information

תורת הקומפילציה

תורת הקומפילציה תורת הקומפילציה 236360 מועד א 15/08/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון ב' של בחינת הבגרות שסמלו 016103 א

More information

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו פרק 7 פקודות אריתמטיות, לוגיות והזזה ברק גונן 1 תוכן הפרק פקודות אריתמטיות ADD, INC SUB, DEC MUL DIV פקודות לוגיות AND OR XOR NOT פקודות הזזה SHL SHR ברק גונן 2 פקודת ADD מחברת את אופרנד המקור עם אופרנד

More information

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת #C. התכנית קולטת

More information

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשס"ו 2006 כתבה: יעל בילצ'יק (סופרין)

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשסו 2006 כתבה: יעל בילצ'יק (סופרין) יסודות 1 מדריך מעבדה לסביבת העבודה Visual C# Express כתבה: יעל בילצ'יק (סופרין) מהדורת עיצוב תשס"ו 2006 אוניברסיטת תל-אביב החוג להוראת המדעים מטה מל"מ המרכז הישראלי להוראת המדעים ע"ש עמוס דה-שליט משרד

More information

חזרה, מיונים פולינה לוצקר

חזרה, מיונים פולינה לוצקר חזרה, מיונים פולינה לוצקר מבני נתונים ואלגוריתמים שיעורי בית- תזכורת.20.11 יש להגיש את התרגיל במערכת submit עד השעה 23:55 יש לממש את הערימה בחלק השני לבד- אני אבדוק! בתאריך יש להשתמש אך ורק במיון ערימה

More information

מבוא למחשב בשפת Matlab

מבוא למחשב בשפת Matlab מבוא למחשב בשפת Matlab תרגול 10: רקורסיה מבוסס על שקפי הקורס "מבוא למדעי המחשב" ובסיוע שקפים של ערן אדן כל הזכויות שמורות לטכניון מכון טכנולוגי לישראל תזכורת: פונקציות להלן קוד של פונקציה בשם :func function

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ו, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it

More information

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ תור,מחסנית פולינה לוצקר וערימה מבני נתונים ואלגוריתמים מנהלות מרצה הקורס: פרופסור יורם לוזון פולינה מתרגלת: לוצקר אימייל: polinalutbiu@gmail.com, שעות קבלה: 13:00-15:00 יום שני בתיאום מראש. אתר הקורס:

More information

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces 1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר 2 כתיבת התכנית הראשונה

More information

Depth-First Search DFS

Depth-First Search DFS Depth-First Search DFS (Depth-First Search) DFS חיפוש לרוחב חיפ וש לעומק (DFS) הוא אלג וריתם לסרי קת הגרפים. פועל גם על גרפים מ כוו נים וגם על בלתי מ כוו נים בהינתן גרף,G=(V,E) אלגוריתם DFS מבקר בכל הצמתים

More information

שיעור.1 בונים מבנים מקוביות

שיעור.1 בונים מבנים מקוביות יחידה :27 גופים מקוביות שיעור.1 בונים מבנים מקוביות רחל בנתה מבנה מקוביות. היא רצתה לתאר את המבנה לחברתה. ע זרו לתאיר לרחל את המבנה. נלמד דרכים שונות לתאר מבנים מקוביות..1 תומר תאר את המבנה בעזרת תרשים,

More information

משימה מסכמת במדעי המחשב - מודול צד לקוח תשע"ז,2017

משימה מסכמת במדעי המחשב - מודול צד לקוח תשעז,2017 משימה מסכמת במדעי המחשב - מודול צד לקוח תשע"ז,2017 ניקוד שאלות מס' שאלה 1 2 3 4 5 6 7 8 נושא השלמת,HTML כל קוד 5 נק' מציאת טעות בקטעי קוד, כל תיקון 3 נק' שימוש בטופס לזימון פונקציה, כל השלמה 3 נק' ההצבה

More information

הוראת הדפסה/פלט כשנריץ קובץ זה נקבל ( 6/5/4 מחקו את המיותר( שורות "הדפסה" לדף ה- HTML בשורה 3 יודפס בשורה 6 יודפס

הוראת הדפסה/פלט כשנריץ קובץ זה נקבל ( 6/5/4 מחקו את המיותר( שורות הדפסה לדף ה- HTML בשורה 3 יודפס בשורה 6 יודפס alert("hello World"); alert("2+4"); alert(2+4); הוראת הדפסה/פלט תרגיל 1 העתיקו לקובץ וענו על השאלות הבאות השלם: כשנריץ קובץ זה נקבל 3 הודעות מוקפצות. הודעה 1 הודעה 2 הודעה 3.1 כשכותבים ביטוי חשבוני

More information

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה.

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה. מבני נתונים תרגיל 5 תאריך פרסום: תאריך הגשה: מרצה ומתרגל אחראים: צחי רוזן, תומר כהן נהלי הגשת עבודה: את העבודה יש להגיש בזוגות. את הפתרון לעבודה זו עליכם לכתוב בקובץ word )או כל כתבן אחר לפי טעמכם האישי(,

More information

שאלון ד' הוראות לנבחן

שאלון ד' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 404 016105, י ת ל ג נ א שאלון ד' )MODULE D( הוראות לנבחן א. משך הבחינה:

More information

מערכים Haim Michael. All Rights Reserved.

מערכים Haim Michael. All Rights Reserved. 1 מערכים יצירת מערך הפונקציה var_dump הפונקציה print_r אופן הפעולה של מערך מערך דו מימדי הפקודה list האופרטור,+,==,===!= ו-!== הפונקציה count הפונקציה is_array הפונקציה isset הפונקציה array_key_exists

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, מועד ב מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א. משך הבחינה: שעה וחצי אנגלית שאלון

More information

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית. בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. א. משך הבחינה: שעה ורבע מועד הבחינה: חורף תשס"ז, 2007 מספר השאלון: 406 016107, א נ ג ל י

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 416 016117, Thinking Skills נספח: כישורי

More information

Structural Vs. Nominal Typing

Structural Vs. Nominal Typing שפות תכנות 234319 פרופ' יוסי גיל הפקולטה למדעי המחשב, הטכניון מכון טכנולוגי לישראל קיץ 2013 הרצאה מס' 6: טיפוסיות שמית ומבנית רשמה: איריס קלקה kalka.iris@gmail.com בשלב זה בקורס אנו עוסקים בתורת הטיפוסים.

More information

Reflection Session: Sustainability and Me

Reflection Session: Sustainability and Me Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas

More information

זה. Nir Adar

זה. Nir Adar גירסה 28.4.2003-1.00 האסמבלי של 8086 חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך,

More information

Genetic Tests for Partners of CF patients

Genetic Tests for Partners of CF patients Disclaimer: this presentation is not a genetic/medical counseling The Annual Israeli CF Society Meeting Oct 2013 Genetic Tests for Partners of CF patients Ori Inbar, PhD A father to a 8 year old boy with

More information

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary בגרות סוג הבחינה: מדינת ישראל קיץ תשע"ז, 2017, מועד ב מועד הבחינה: משרד החינוך 403 016104, מספר השאלון: אנגלית שאלון ג' (MODULE C) ג רסה א' הוראות לנבחן א. משך הבחינה: שעה וחצי ב. מבנה השאלון ומפתח ההערכה:

More information

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך מדינת ישראל משרד החינוך מינהל חברה ונוער מבחן באנגלית שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: מנהל מרכז השכלה: שם: שם מרכז ההשכלה /מוסד : ציון: תאריך בדיקת המבחן: כולה שהמערכת מוסרית, ומוסרית ערכית רואים

More information

תירואית הקיטסיטטס. 5 קרפ

תירואית הקיטסיטטס. 5 קרפ פרק 5. סטטיסטיקה תיאורית Statistics) (Descriptive 5.1 התפלגות שכיחויות (Frequencies) 5.1.1 כללי התפלגות שכיחויות מתארת את הערכים הקיימים של המשתנים והשכיחות שלהם, ומאפשרת הפקה של סטטיסטיקה תיאורית נוספת

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב 4. התבניות שבמחלקה תבניות בניה - 4.1 בניה של רשימה - 4.2 שרשור רשימות תבניות סריקה - 4.3 נמצא ברשימה? - 4.4 מקום ברשימה - 4.5 מחיקת איברים מרשימה עבודה עם ס מ ן - 4.6 העברות ברשימה - 4.7 היפוך רשימה -

More information

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx 1 ברק גונן עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx לעיתים נרצה שהתוכנית תבצע פקודות רק אם מתקיים תנאי מוגדר

More information